package edu.gdpu.memory.stringtable;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/**
 * @author mazebin
 * @date 2021年 07月15日 22:17:29
 * * 演示串池大小对性能的影响
 *  -Xms500m :堆的最小值 -Xmx500m 堆的最大值
 *  -Xmn:年轻代的大小
 *  -XX:NewSize：新生代最小值（初始值）；
 *  -XX:MaxNewSize：新生代最大值；
 *  -XX:+PrintStringTableStatistics
 *  -XX:StringTableSize=1009
 */
public class StringTableTest5 {
    public static void main(String[] args) {
        try(BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("linux.words"),"utf-8"))){
            long start = System.nanoTime();
            String line = null;
            while (true){
                line =reader.readLine();
                if(line == null){
                    break;
                }
                line.intern();
            }

            long end = System.nanoTime();
            System.out.println("用时："+(end-start)/1000000);
            //没加参数：252
            //加了参数：4364
        }catch ( Exception  e){
            e.printStackTrace();
        }
    }
}
